package goo

import (
	"fmt"
	"nf/backend/tools"
)

// 官网自定义路由脚本，入口函数。该函数签名不能修改
// 参数：urlParams=url参数
// 返回值：string=HTML模板名称 any=模板数据 error=错误
func RunRouteScript(path string, urlParams map[string]string) (string, any, error) {
	fmt.Println("===>", path)
	// 单独处理首页
	if path == "/" {
		return handleIndex()
	}
	// 分发处理逻辑
	htmlName := urlParams["name"]
	switch htmlName {
	case "about.html":
		return handleAbout(htmlName)
	case "small.html":
		return handleSmall(htmlName)
	case "doc/doc.html":
		return htmlName, nil, nil
	}
	return "", nil, nil
}

// 官网首页逻辑
func handleIndex() (string, any, error) {
	// TODO
	return "index.html", nil, nil
}

// 关于我们
func handleAbout(htmlName string) (string, any, error) {
	result := make([]map[string]any, 0)
	// gdb, err := tools.GetCacheDB(1) // 获取系统缓存的数据库链接，其中1是数据源的ID
	// if err != nil {
	// 	return "", nil, err
	// }
	if err := tools.GDB.Table("admin_user").
		Offset(0).Limit(2).
		Find(&result).Error; err != nil {
		fmt.Printf("查询数据错误: %v\n", err)
		return "", nil, err
	}
	// fmt.Printf("结果: %v\n", result)
	return htmlName, result, nil
}

// 小程序页面
func handleSmall(htmlName string) (string, any, error) {
	// fmt.Printf("结果: %v\n", result)
	return htmlName, nil, nil
}
